/// MyAnimeList 官方分类映射
/// 数据来源：https://myanimelist.net/anime/genre/
class MALGenres {
  /// 动漫分类映射
  static const Map<int, String> animeGenres = {
    1: '动作',      // Action
    2: '冒险',      // Adventure  
    4: '喜剧',      // Comedy
    8: '剧情',      // Drama
    10: '奇幻',     // Fantasy
    11: '游戏',     // Game
    13: '历史',     // Historical
    14: '恐怖',     // Horror
    7: '悬疑',      // Mystery
    22: '恋爱',     // Romance
    24: '科幻',     // Sci-Fi
    36: '日常',     // Slice of Life
    30: '运动',     // Sports
    37: '超自然',   // Supernatural
    41: '惊悚',     // Thriller
    9: '机械',      // Mecha
    19: '音乐',     // Music
    23: '校园',     // School
    42: '悬疑',     // Suspense
    18: '军事',     // Military
    38: '职场',     // Workplace
    32: '吸血鬼',   // Vampire
    21: '武士',     // Samurai
    17: '武术',     // Martial Arts
    39: '侦探',     // Detective
    35: '儿童',     // Kids
    15: '儿童',     // Kids (duplicate)
    16: '魔法',     // Magic
    31: '超能力',   // Super Power
    40: '心理',     // Psychological
    29: '太空',     // Space
    26: '少女',     // Shoujo
    27: '少年',     // Shounen
    25: '青年',     // Seinen
    43: '少女',     // Josei
  };

  /// 动漫状态映射
  static const Map<String, String> animeStatus = {
    'currently airing': '连载中',
    'finished airing': '已完结',
    'not yet aired': '未播出',
  };

  /// 动漫类型映射
  static const Map<String, String> animeTypes = {
    'tv': 'TV动画',
    'movie': '电影',
    'ova': 'OVA',
    'special': '特别篇',
    'ona': '网络动画',
    'music': '音乐',
  };

  /// 热门排序类型
  static const Map<String, String> popularityFilters = {
    'bypopularity': '按人气',
    'favorite': '按收藏',
    'airing': '正在播出',
    'upcoming': '即将播出',
  };

  /// 获取分类中文名
  static String getGenreName(int genreId) {
    return animeGenres[genreId] ?? '未知分类';
  }

  /// 获取状态中文名
  static String getStatusName(String status) {
    return animeStatus[status] ?? status;
  }

  /// 获取类型中文名
  static String getTypeName(String type) {
    return animeTypes[type] ?? type;
  }

  /// 获取热门排序中文名
  static String getFilterName(String filter) {
    return popularityFilters[filter] ?? filter;
  }
} 